home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / emacs16d.zip / _MOVE.MIN < prev    next >
Text File  |  1991-08-17  |  8KB  |  451 lines

  1.  
  2.  
  3.  
  4. Name:F:backward-char
  5. Move the point back by one character
  6. [*]    
  7. #(sp,#(Floop,#(Fsignum,(arg1),<,>),#(Fmodulus,(arg1))))[*]
  8.  
  9.  
  10. Name:F:backward-page
  11. [*]#(pm,2)
  12. #(lp,##(F-page-delimiter),,R)
  13. #(l?,.,[,1,0,(
  14.     #(==,##(rc,0),0,(
  15.         #(l?,1,[,,0,(
  16.             #(sp,0)
  17.         ),(
  18.             #(sp,[)
  19.         ))
  20.     ),(
  21.         #(sp,0)
  22.     ))
  23. ),(
  24.     #(sp,[)
  25. ))
  26. #(pm)[*]
  27.  
  28.  
  29. Name:F:backward-sentence
  30. [*]    
  31. #(sp,#(Floop,(#(Fsignum,(arg1),
  32.     (#(Fbackward-sentence)),(#(Fforward-sentence)))),
  33.     #(Fmodulus,(arg1))))
  34. [*]
  35.  
  36.  
  37. Name:F:backward-word
  38. Move backward to the beginning of the previous word.
  39. [*]    
  40. #(sp,#(Floop,#(Fsignum,(arg1),-{,+}),#(Fmodulus,(arg1))))
  41. [*]
  42.  
  43.  
  44. Name:F:beginning-of-buffer
  45. Use arg1 to move a given number of tenths through the buffer.
  46. [*]    
  47. #(F:set-mark-command)
  48. #(sv,cl,#(//,#(**,#(lv,nl),arg1),10))
  49. #(sp,^)
  50. [*]
  51.  
  52.  
  53. Name:F:beginning-of-line
  54. Move to the beginning of the current line.
  55. [*]    
  56. #(==,arg1,,(
  57.     #(sp,^)
  58. ),(
  59.     #(sp,^#(Floop,#(Fsignum,(arg1),$>,<^),#(Fmodulus,(arg1))))
  60. ))[*]
  61.  
  62.  
  63. Name:F:end-of-buffer
  64. Move to the end of the buffer.
  65. [*]#(F:set-mark-command)#(sp,])[*]
  66.  
  67.  
  68. Name:F:end-of-line
  69. Move to the end of the current line.
  70. [*]    
  71. #(==,arg1,,(
  72.     #(sp,$)
  73. ),(
  74.     #(sp,$#(Floop,#(Fsignum,(arg1),>$,^<^)
  75.         ,#(Fmodulus,(arg1))))
  76. ))[*]
  77.  
  78.  
  79. Name:F:forward-char
  80. Move forward one character
  81. [*]    
  82. #(sp,#(Floop,#(Fsignum,(arg1),>,<),#(Fmodulus,(arg1))))[*]
  83.  
  84.  
  85. Name:F:forward-page
  86. [*]#(pm,1)
  87. #(lp,##(F-page-delimiter),,R)
  88. #(l?,.,],,0,(
  89.     #(sp,0)
  90. ),(
  91.     #(sp,])
  92. ))
  93. #(pm)[*]
  94.  
  95.  
  96. Name:F:forward-sentence
  97. [*]    
  98. #(sp,#(Floop,(#(Fsignum,(arg1),
  99.     (#(Fforward-sentence)),(#(Fbackward-sentence)))),
  100.     #(Fmodulus,(arg1))))
  101. [*]
  102.  
  103.  
  104. Name:F:forward-word
  105. Move to the beginning of the next word.
  106. [*]    
  107. #(sp,#(Floop,#(Fsignum,(arg1),+},-{),#(Fmodulus,(arg1))))
  108. [*]
  109.  
  110.  
  111. Name:F:goto-line
  112. Goto an absolute line in the current buffer.
  113. [*]    
  114. #(Finsist,(arg1),SELF,(
  115.     #(sv,cl,arg1)
  116.     #(Fmode-line)
  117. ))[*]
  118.  
  119.  
  120. Name:F:mark-page
  121. [*]#(F:forward-page)
  122. #(F:set-mark-command)
  123. #(F:backward-page)[*]
  124.  
  125.  
  126. Name:F:mark-paragraph
  127. [*]#(F:forward-paragraph)
  128. #(Fset-new-mark,.)
  129. #(F:backward-paragraph)[*]
  130.  
  131.  
  132. Name:F:mark-whole-buffer
  133. Set the region to the entire buffer.
  134. [*]#(sp,[)#(Fset-new-mark,])[*]
  135.  
  136.  
  137. Name:F:mark-word
  138. Set a mark at the end of the next word.
  139. [*]#(Fset-new-mark,.)
  140. #(sp,+})
  141. #(F:swap-point-and-mark)
  142. [*]
  143.  
  144.  
  145. Name:F:move-to-window-line
  146.    Move point to left margin on the line halfway down the screen or
  147. window.  Text does not move on the screen.  A numeric argument says
  148. how many screen lines down from the top of the window (zero for the
  149. top).  A negative argument from the bottom (-1 for the bottom).
  150. [*]    
  151. #(ds,temp,
  152. #(sv,cl,##(++,##(lv,cl),##(--,
  153.     #(==,arg1,,(
  154.         ##(//,##(--,##(lv,bl),##(lv,tl)),2)
  155.     ),(
  156.         #(g?,0,arg1,(
  157.             ##(++,##(++,##(lv,bl),arg1),1)
  158.         ),(
  159.             arg1
  160.         ))
  161.     ))
  162.     ,##(lv,rs))))
  163. [*]
  164.  
  165.  
  166. Name:F:next-line
  167. Move down a line, remembering which column we were in.
  168. [*]line
  169. #(==,##(result),line,,(
  170.     #(ds,column,##(lv,cs))
  171. ))
  172. #(sp,$)
  173. #(==,##(rc,>),0,(
  174.     #(Fcrlf)
  175. ),(
  176.     #(sp,>)
  177.     #(sv,cs,##(column))
  178. ))
  179. [*]
  180.  
  181.  
  182. Name:F:pop-mark
  183. Modified by Ashok P. Nadkarni
  184. Pop a mark from the mark ring. Direction of ring movement depends on the
  185. sign of the arg1. The point is set to the current mark and then the ring
  186. rotated in the appropriate direction.
  187. [*]    
  188. #(pm,1)
  189. #(sm,0)
  190. #(sp,#(Fmark))
  191. #(sm,#(Fmark),0)
  192. #(pm)
  193. #(ds,mark.##(ba,-1),
  194.     ##(bc,##(++,##(%%,##(++,##(bc,#(Fmark)),#(g?,arg1,0,15,1)),16),64),d,a))
  195. [*]
  196.  
  197.  
  198. Name:F:previous-line
  199. Move up a line, remembering which column we were in.
  200. [*]line
  201. #(==,##(result),line,,(
  202.     #(ds,column,##(lv,cs))
  203. ))
  204. #(sp,^<)
  205. #(sv,cs,##(column))[*]
  206.  
  207.  
  208. Name:F:scroll-down
  209. Move the cursor up one page.
  210. [*]    
  211. #(Fscroll-up-down,
  212.     #(--,0,
  213.         #(==,arg1,,(
  214.             #(--,##(lv,bl),##(lv,tl))
  215.         ),(
  216.             arg1
  217.         ))
  218.     )
  219. )[*]
  220.  
  221.  
  222. Name:F:scroll-left
  223. Scroll selected window display ARG columns left.
  224. Default for ARG is window width minus 2.
  225. [*]    
  226. #(sv,lc,
  227.     #(Fmax,1,
  228.         ##(--,##(lv,lc),
  229.             #(==,arg1,,##(--,#(lv,rc),2),arg1)
  230.         )
  231.     )
  232. )[*]
  233.  
  234.  
  235. Name:F:scroll-right
  236. Scroll selected window display ARG columns right.
  237. Default for ARG is window width minus 2.
  238. [*]    
  239. #(sv,lc,##(++,##(lv,lc),
  240.     #(==,arg1,,##(--,#(lv,rc),2),arg1)
  241. ))[*]
  242.  
  243.  
  244. Name:F:scroll-up
  245. Move down a page.
  246. [*]    
  247. #(Fscroll-up-down,
  248.     #(==,arg1,,(
  249.         #(--,##(lv,bl),##(lv,tl))
  250.     ),(
  251.         arg1
  252.     ))
  253. )[*]
  254.  
  255.  
  256. Name:F:scroll-up-other-window
  257. GNU emacs' M-C-v.  
  258. [*]    
  259. #(==,##(lv,ow),0,,(
  260.     #(Fexcurse-buffer,(
  261.         #(..,#(ba,##(lv,ow)))
  262.         #(F:scroll-up,arg1)
  263.     ))
  264. ))[*]
  265.  
  266.  
  267. Name:F:swap-point-and-mark
  268. Set the mark to where the point is, and set the point to where the mark was.
  269. [*]#(pm,1)
  270. #(sm,0,.)
  271. #(sp,#(Fmark))
  272. #(sm,#(Fmark),0)
  273. #(pm)[*]
  274.  
  275.  
  276. Name:F:tab-to-tab-stop
  277. Set point to next tabstop in F-tab-stop-list.
  278. [*]#(Ftab-to-tab-stop-do,##(fm,F-tab-stop-list,(,)))[*]
  279.  
  280.  
  281. Name:F:yank-pop
  282. Replace the previously un-kill'ed text with the previous kill ring entry.
  283. [*]#(==,##(rc,#(Fmark)),
  284.     #(ds,old-buffer,##(ba,-1))
  285.     #(..,##(ba,1,a))
  286.     #(sp,##(bc,##(++,##(Fkill.head),48),d,a)>)
  287.     ##(rc,##(bc,##(++,##(Fkill.head),49),d,a))
  288.     #(..,##(ba,##(old-buffer)))
  289. ,(
  290.     #(dm,#(Fmark))
  291.     #(Funrotate,Fkill)
  292.     #(F:un-kill)
  293. ),(
  294.     #(Fmessage,Yank something first!)
  295. ))[*]
  296.  
  297.  
  298. Name:Fbackward-sentence
  299. Move backward to the beginning of the previous sentence.
  300. (Was #(F:backward-sentence) in the Freemacs 1.5e distribution).
  301. [*]#(lp,[.?][##(bc,41,d,a)"]*  \|[.?][##(bc,41,d,a)"]*##(bc,13,d,a)##(bc,10,d,a),,R)
  302. #(pm,1)
  303. #(l?,<,[,,0,(
  304.     #(sp,0)
  305. ),(
  306.     #(sp,[)
  307. ))
  308. #(pm)
  309. [*]
  310.  
  311.  
  312. Name:Fbackward-skip-nonwhite
  313. Skip whitespace to the left of point.  If arg1 is nonnull, newline is not
  314. whitespace.
  315. [*]#(sp,<)
  316. #(Fwhitespace,(
  317.     #(sp,>)
  318. ),(
  319.     #(SELF)
  320. ),(arg1))[*]
  321.  
  322.  
  323. Name:Fbackward-skip-white
  324. Skip whitespace to the left of point.  If arg1 is nonnull, newline is not
  325. whitespace.
  326. [*]#(==,##(rc,[),0,,(
  327.     #(sp,<)
  328.     #(Fwhitespace,(
  329.         #(SELF)
  330.     ),(
  331.         #(sp,>)
  332.     ),(arg1))
  333. ))[*]
  334.  
  335.  
  336. Name:Ffind-non-blank
  337. Put point at non-whitespace char to right if arg1 = >
  338. put point under last whitespace char to left if arg1 = <
  339. Treat <returns> as whitespace if arg2 = crlf
  340. [*]#(==,##(rm,arg1),( ),
  341.     (#(sp,arg1)#(SELF,arg1,arg2)),
  342.     (#(==,##(rm,arg1),(    ),
  343.         (#(sp,arg1)#(SELF,arg1,arg2)),
  344.         (#(==,arg2,crlf,
  345.             (#(==,##(rm,arg1),(
  346. ),                (#(sp,arg1)#(SELF,arg1,arg2)),
  347.             ))
  348.         ))
  349.     ))
  350. )
  351. [*]
  352.  
  353.  
  354. Name:Fforward-sentence
  355. Move to the beginning of the next sentence.
  356. (Was #(F:forward-sentence) in the Freemacs 1.5e distribution).
  357. [*]#(lp,[.?][##(bc,41,d,a)"]*  \|[.?][##(bc,41,d,a)"]*##(bc,13,d,a)##(bc,10,d,a),,R)
  358. #(pm,1)
  359. #(l?,>,],,0,(
  360.     #(sp,0)
  361. ),(
  362.     #(sp,])
  363. ))
  364. #(pm)
  365. [*]
  366.  
  367.  
  368. Name:Fforward-skip-white
  369. Skip whitespace to the right of point.  If arg1 is nonnull, newline is not
  370. whitespace.
  371. [*]#(==,##(rc,]),0,,(
  372.     #(Fwhitespace,(
  373.         #(sp,>)
  374.         #(SELF)
  375.     ),,(arg1))
  376. ))[*]
  377.  
  378.  
  379. Name:Fforward-skip-nonwhite
  380. Skip non whitespace to the right of point.  If arg1 is nonnull, newline is not
  381. whitespace.
  382. [*]#(==,##(rc,]),0,,(
  383.     #(Fwhitespace,,(
  384.         #(sp,>)
  385.         #(SELF)
  386.     ),(arg1))
  387. ))[*]
  388.  
  389.  
  390. Name:Fgoto-row-and-column
  391. Go to the column given in arg1 and the row given in arg2.
  392. [*]#(sv,cl,arg2)
  393. #(sv,cs,arg1)[*]
  394.  
  395.  
  396. Name:Fmark
  397. A character from @ to F which is the current mark in the mark ring.
  398. [*]#(n?,mark.##(ba,-1),(
  399.     ##(mark.##(ba,-1))
  400. ),(
  401.     #(ds,mark.##(ba,-1),@)
  402. ))[*]
  403.  
  404.  
  405. Name:Fmark-whitespace
  406. [*]
  407. #(Ffind-non-blank,>,arg1)
  408. #(Fset-new-mark,.)
  409. #(Ffind-non-blank,<,arg1)
  410. [*]
  411.  
  412.  
  413. Name:Fmove-left-over-non-word
  414. [*]#(sp,<)#(Fwhitespace,(#(SELF)),(#(sp,>)))[*]
  415.  
  416.  
  417. Name:Fmove-left-over-word
  418. [*]#(sp,<)#(Fwhitespace,(#(sp,>)),(#(SELF)))[*]
  419.  
  420.  
  421. Name:Fmove-right-over-non-word
  422. [*]#(Fwhitespace,(
  423.     #(sp,>)
  424.     #(SELF)
  425. ))[*]
  426.  
  427.  
  428. Name:Fmove-right-over-word
  429. [*]#(Fwhitespace,,(
  430.     #(sp,>)
  431.     #(SELF)
  432. ))[*]
  433.  
  434.  
  435. Name:Fscroll-up-down
  436. Move up or down a page by the number of lines given in arg1.
  437. [*]line
  438. #(sv,rs,##(lv,rs))
  439. #(==,##(result),line,,(
  440.     #(ds,column,##(lv,cs))
  441. ))
  442. #(sv,cl,##(++,##(lv,cl),arg1))
  443. #(sv,cs,##(column))
  444. [*]
  445.  
  446.  
  447. Name:Fset-new-mark
  448. Set the next mark on the mark ring to the mark given in arg1.
  449. [*]#(ds,mark.##(ba,-1),##(bc,##(++,##(%%,##(++,##(bc,#(Fmark)),1),16),64),d,a))
  450. #(sm,#(Fmark),arg1)
  451. [*]